module.exports = class extends think.Model {
  /// / 模型关联
  // get relation() {
  //   return {
  //     roleInfo: {
  //       type: think.Model.HAS_MANY,
  //       model: 'role',
  //       key: 'role_id',
  //       fKey: 'id',
  //       // field: ''
  //     }
  //   };
  // }

  async getRoles(resource_id) {
    return await this.model('role')
      .alias('r')
      .join({
        table: 'role_auth',
        join: 'left',
        as: 'ra',
        on: ['r.id', 'ra.role_id']
        // field:'uid'
      })
      .join({
        table: 'resource',
        join: 'left',
        as: 'rr',
        on: ['rr.id', 'ra.resource_id']
      })
      .where({'ra.resource_id': resource_id})
      .field('r.id as id,name,title')
      .select();
  }
};
